Conservative Garbage Collectors for Realtime Audio Processing
نویسنده
چکیده
Garbage-producing and efficient programming languages such as Haskell, Lisp or ML have traditionally not been used for generating individual samples in realtime. The reason is a lack of garbage collector fast and predictably enough to make these languages viable alternatives to C and C++ for high performing audio DSP. This paper shows how conservative garbage collectors can be used efficiently for realtime audio signal processing. Two new garbage collectors are described. The first collector can easily replace garbage collectors in many existing programming languages and has successfully been used for the Stalin Scheme implementation. The second garbage collector has a higher memory overhead and requires a simple write barrier, but does not restrain the amount of memory. Both collectors find garbage by running a parallel markand-sweep on snapshots. The snapshot buffers are either copied to between soundcard interrupts or filled up by write barriers. To ensure predictability, worst-case is simulated about once a second, and all running garbage collectors are synchronized to avoid more than one garbage collector to block audio simultaneously. High performance is maintained since the collectors should not interfere with inner audio loops. Benchmarks also show that overhead can be minimal.
منابع مشابه
Realtime Music Programming using snd-RT
A revolutionary system for programming sound and music in realtime is being presented. The system provides interfaces to extremely efficient high-level and garbageproducing programming languages, which process indivudal samples at a time, sample by sample, in realtime. This is possible by using the Rollendurchmesserzeitsammler garbage collector, the only known conservative garbage collector sui...
متن کاملScalable Garbage Collection with Guaranteed MMU
Regional garbage collection offers a useful compromise between real-time and generational collection. Regional collectors resemble generational collectors, but are scalable: our main theorem guarantees a positive lower bound, independent of mutator and live storage, for the theoretical worst-case minimum mutator utilization (MMU). The theorem also establishes upper bounds for worst-case space u...
متن کاملA Non-Fragmenting Non-Moving, Garbage Collector
1. ABSTRACT One of the biggest disadvantages of nonmoving collectors compared to moving collectors has been their limited ability to deal with memory fragmentation. In this paper, we describe two techniques to reduce fragmentation without the need for moving live data. The first technique reduces internal fragmentation in BiBoP (Big-Bag-of-Pages) like allocators. The second technique reduces ex...
متن کاملComprehensive and Robust Garbage Collection in a Distributed System
The overall goal of the Emerald garbage collection scheme is to provide an e cient \on-they" garbage collection in a distributed object-based system that collects all garbage, and that is robust to partial failures. The rst goal is to collect all garbage in the entire distributed system; we say that the collection is comprehensive in contrast to conservative collectors that only collect most ga...
متن کاملارزیابی عملکرد ریوی گروهی از پاکبانان شهرداری استان فارس در سال 1391
Background: Garbage collectors form a large group of municipal workers who have occupational exposure to different airborne contaminants. The aim of this study was to evaluate the respiratory health of a group of garbage collectors who were working in Fars province. Methods: This cross-sectional study was undertaken among a group of 105 garbage collectors and 93 referrent individuals. Subjects...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009